浅试探究Shiro 721

您所在的位置:网站首页 锐捷6120-e 怎么才不限速 浅试探究Shiro 721

浅试探究Shiro 721

2023-05-03 20:17| 来源: 网络整理| 查看: 265

shiro 550

​ 在Shiro Middle[0][-1] = Plaintext[0] XOR eval_IV

接下来就是尝试使eval_IV的倒数第二个字节从0x00~0xff开始爆破,让Plaintext[0]的倒数第二个字节位0x02(最后一个字节可以通过计算得到),然后就是倒数第三个字节,依次类推,直到得到第一组完整的Middle

然后根据加密流程可以得知

Plaintext XOR IV = Middle && Middle XOR eval_IV = Plaintext => Plaintext = Middle(通过eval_IV求解) XOR IV(已知) XOR eval_IV(爆破)

然后第二部分以及之后的部分使用的都是前一部分的密文值作为IV

所以我们可以根据这样依次类推我们得到全部的明文

这样我们就在不知道KEY的情况下获取了全部的明文

Padding-Oracle 恶意明文构造密文

通过明文构造密文其实和之前解密明文的流程基本上就是相反的

首先我们先随机伪造最后一组的密文 然后我们可以根据之前求解明文的方式得到eval_IV 然后根据之前得到的Plaintext = Middle XOR IV XOR eval_IV=>IV = Plaintext(已知) XOR Middle(通过eval_IV求解) XOR eval_IV(爆破) 这里根据加密的流程可知,后一组加密过程中使用的使前一组的密文,所以我们就可以得到倒数第二组的密文就是IV 然后我们就可以依次获取所以有的密文和最后的IV(也就是恶意的初始IV) 然后把IV和密文拼接就是我们需要构造的恶意rememberMe CBC字节翻转攻击

在AES的CBC模式中除了padding Oracle攻击还有一种攻击方式CBC字节翻转攻击

CBC字节翻转攻击的方式可以总结成通过修改密文进而篡改明文

根据解密流程可以推导出公式

Plaintext[0] = Decrypt(Cipher[0]) XOR IV (N=0) Plaintext[N] = Decrypt(Cipher[N]) XOR Cipher[N-1] (N>=1)

如果我们想修改第N组的明文可以通过修改第N-1组的密文来解决



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3